package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariodocumento;

import java.util.Date;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioDocumento;

@WebService
public interface FuncionarioDocumentoEndPoint {
	
	@WebMethod(operationName="listarTodosDocumentosFuncionarios")
	public @WebResult(name="listaFuncionarioDocumento") List<FuncionarioDocumento> recuperarTodos();
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorIdFuncionarioDocumento")
	public @WebResult(name="funcionarioDocumento")FuncionarioDocumento recuperarPorIdFuncionarioDocumento(
		   @WebParam(name="idFuncionarioDocumento")Long idFuncionarioDocumento);
		
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorFuncionario")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorFuncionario(
		@WebParam(name="funcionario")Long funcionario);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorIdTipoDocumento")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorIdTipoDocumento(
		@WebParam(name="idTipoDocumento")Long idTipoDocumento);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorIdUf")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorIdUf(
		@WebParam(name="idUf")Long idUf);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorIdMunicipio")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorIdMunicipio(
		@WebParam(name="idMunicipio")Long idMunicipio);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorNrDocumento")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorNrDocumento(
		@WebParam(name="nrDocumento")String nrDocumento);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorNrSecao")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorNrSecao(
		@WebParam(name="nrSecao")Long nrSecao);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorNrZona")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorNrZona(
		@WebParam(name="nrZona")Long nrZona);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorDtEmissao")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorDtEmissao(
		@WebParam(name="dtEmissao")Date dtEmissao);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorDtValidade")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorDtValidade(
		@WebParam(name="dtValidade")Date dtValidade);
	
	@WebMethod(operationName="recuperarFuncionarioDocumentoPorStRegistro")
	public @WebResult(name="listaFuncionarioDocumento")List<FuncionarioDocumento> recuperarPorStRegistro(
		@WebParam(name="stRegistro")String stRegistro);
	
	
	
	
	
}
